[C - Socket] UDP SERVER
Publicado por Enzo de Brito Ferber 10/03/2006
[ Hits: 10.403 ]
Homepage: http://www.maximasonorizacao.com.br
Este script testei na minha
propria máquina em terminas
diferentes, mas creio eu que
funcionará em uma rede local.
Como fazer funcionar:
Compile o script:
cc -o server server.c
Abra um terminal (xterm)
Execute o servidor.
Abra outro terminal (xterm)
Execute o cliente
P.S.: O cliente está em outro
link
#include <stdio.h> #include <stdlib.h> #include <netdb.h> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #define PORT 3456 #define MAX_CONNECTS_TRY 10 int main(int argc, char *argv[]){ int fd1, fd2; int num_b; int bind_return; int listen_return; int sin_size; //para passar endereco para funcao accept() int msg_size; char msg[100]; char hostname[30]; struct sockaddr_in client; struct sockaddr_in host; gethostname(hostname, 30); printf("Seu HOSTNAME: %s\n\n", hostname); fd1 = socket(AF_INET, SOCK_DGRAM, 0); if(fd1 == -1){ perror("socket"); exit(1); } client.sin_family = AF_INET; client.sin_port = htons(PORT); client.sin_addr.s_addr = INADDR_ANY; //poe o endeco do meu computador automaticamente bind_return = bind(fd1, (struct sockaddr *)&client, sizeof(struct sockaddr)); if(bind_return == -1){ perror("bind"); exit(1); } while(strcmp("exit", msg) != 0){ memset(msg, 0x0, 100); sin_size = sizeof(host); msg_size = recvfrom(fd1, msg, 100, 0, (struct sockaddr *)&host, &sin_size); printf("Mensagem de:%s: %s\n", inet_ntoa(host.sin_addr), msg); } }
Nenhum comentário foi encontrado.
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Conheça o Octopi, outro frontend para o Pacman com acesso ao ARU (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Como compilar o DOOM RETRO no Linux
Stacer - um otimizador gráfico básico de Linux
Corrigindo o erro de "WARNING: Possibly missing firmware for module" no Arch Linux
Como colocar uma assinatura digital em um código compilado ! (0)
Após atualização do Ubuntu 22.04.4 LTS perdi a instalação da placa de ... (0)
DRIVER DE ADPTADOR HDMI PARA USB (2)